Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Використання операцій

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Конспект лекцій
Предмет:
Програмування та алгоритмічні мови

Частина тексту файла

giallorossy1989@mail.ru Вибачте, що міш-маш із мовами, не встиг всі лекції перекласти, да і граматичних помилок вистачає (. ЛЕКЦІЯ ВИКОРИСТАННЯ ОПЕРАЦІЙ С# дозволяє перевизначити дії більшості операцій так, щоб при використанні з об’єктами конкретного класу вони виконували задані функції. Визначення власних операцій класу називають перезавантаженням операцій. Синтаксис: [aтрибути] спеціфікатори об’явник_операції тіло В якості спеціфікаторів одночасно використовуються ключові слова public і static. Крім того операцію можливо об’являти як зовнішню [extern]. Об’явник_операції – містить ключове слово operator. Тіло операції – визначає дії, які виконуються при використанні операцій у виразах. Тіло представляє собою блок який аналогічний тілу інших методів. Зауваження: нові позначення для власних операцій вводити не можна. Для операцій класу зберігаються кількість аргументів, пріоритети операцій і правила асоціацій, які використовуються у стандартних типах даних. Правила: операція повинна бути описана, як відкритий статичний метод класу (public static); параметри в операцію повинні передаватись за значенням (тобто не можна використовувати ref або out); сигнатури для всіх операцій класу повинні різними; типи, які використовуються в операції, повинні мати не менші права доступу ніж сама операція. Існують три типи операцій класу: унарні, бінарні і операції перетворення типів. Унарні операції + - ! ~ ++ -- true false Синтаксис: тип operator унарна_операція (параметр) Приклади: public static int operator +(MyObject m) public static bool operator true(MyObject m) Параметр, який передається в операцію, повинен мати тип для якого вона визначається. Операція повинна повертати: +, - , !, ~ - величину довільного типу; ++, --, - величину, яка має тип класу для якого вона визначена; true, false – величину типу bool. Операції не повинні змінювати значення параметрів, які їм передаються. Операція, яка повертає величину типу класу, для якого вона визначена, повинна створювати новий об’єкт цього класу, виконувати з ним необхідні дії і передавати його у якості результату. Зауваження: Префіксний і постфіксний інкременти не розрізняються (для них може існувати тільки одна реалізація, яка викликається в обох випадках ) Приклад: class SafeArray { int[] a; int length; public SafeArray(int size) { a = new int[size]; length = size; } public SafeArray(params int[] arr) { length = arr.Length; a = new int[length]; for (int i = 0; i < length; ++i) a[i] = arr[i]; } public static SafeArray operator ++(SafeArray x) { SafeArray temp = new SafeArray(x.length); for (int i = 0; i < x.length; ++i) temp[i] = ++x.a[i]; return temp; } public int this[int i] { get { if (i >= 0 && i < length) return a[i]; else throw new IndexOutOfRangeException(); } set { if (i >= 0 && i < length) a[i] = value; else throw new IndexOutOfRangeException(); } } public void Print(string name) { Console.WriteLine(name + ":"); for (int i = 0; i < length; ++i) Console.Write("\t"+a[i]); Console.WriteLine(); } } class Program { static void Main(string[] args) { try { SafeArray a1 = new SafeArray(5, 2, -1, 100, -2); a1.Print("Masiv 1"); a1++; a1.Print("Increment masiva 1"); } catch (Exception e) { Console.WriteLine(e.Message); } } } Описание класса: class Point2D { float x,y; Point2D() { x...
Антиботан аватар за замовчуванням

24.03.2013 21:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини